#ifndef _KLAS_GL_FONT_HPP_
#define _KLAS_GL_FONT_HPP_

#include "../../Library.hpp"
#include "../../Platform.hpp"
#include "../../GLLibs.hpp"
#include "../Font.hpp"


namespace klas
{
  namespace graphics
  {
    namespace gl
    {
      class GLFont: public Font, public library::Gl
      {
      public:
        GLFont();
        GLFont(string path, uint32 size);
        ~GLFont();
        
        virtual bool load(string path, uint32 size);
        virtual double len(string str);
        virtual bool isValid() const;
        virtual bool setSize(uint32 size);
        virtual uint32 getSize() const;
        
        //! Renders said text.
        void render(string text);
      
      private:
        FTGLTextureFont* m_font;
      };
    }
  }
}

#endif